package day02;

/*
循环：for（固定次数的循环）、while（不确定次数的循环）、do-while
 */
public class Demo01 {
    public static void main(String[] args) {
        /*
        1 int i = 0 初始化条件
        2 i < 5 循环条件
        3 i++ 迭代条件
        执行过程：1 -- 2 -- 4 -- 3 -- 2 --- 4 -- 3 --- ……
        i 是局部变量，在for循环内生效。
         */
        for (int i = 0; i < 5; i++) {
            // 4 循环体
            System.out.println("Hello world");
        }

        // 1+...+100 数字求和。
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            // sum += i;
            sum = sum + i;
        }
        System.out.println("和是：" + sum);

        sum = 0;
        for (int i = 100; i > 0; i--) {
            sum = sum + i;
        }
        System.out.println("和是：" + sum);

        // 打印5行，外层循环，控制打印了多少行
        for (int j = 0; j < 5; j++) {
            // 每次打印一个 # ，打印一行，一行6个。
            for (int i = 0; i < 6; i++) { // 内层循环，控制每行打印多少列。
                System.out.print("#"); // 不换行
            }
            System.out.println(); // 换行
        }

        // 练习： 1+1/2-1/3+1/4-1/5…… 前20项的和。
        double he = 1;
        for(int i = 2; i <= 20; i++) {
            if(i % 2 == 0) { // 偶数
                he = he + 1.0/i; // 1/i 两个整数相除还是整数。
            } else {
                he = he - 1.0/i;
            }
        }
        System.out.println("1+1/2-1/3+1/4-1/5…… 前20项的和=" + he);


        // 1-2+3-4+5……  前20项的和。
        sum = 0;
        for (int i = 1; i <= 20; i++) {
            if (i % 2 == 0) { // 偶数
                // sum -= i;
                sum = sum - i;
            } else {
                // sum += i;
                sum = sum + i;
            }
        }
        System.out.println("1-2+3-4+5……  前20项的和=" + sum);

        System.out.println("1/2=" + 1/2);
        System.out.println("1.0/2=" + 1.0/2);
    }
}
